--[Magic] --v0.5 [Magic] Written by Phatty --Catagory[Games] --This is a pre-release, so you will see a lot of changes very soon, such as saving the score LogedIn = {} count = {} points = {} maxlimit = 3 function Main() SendA = SendToAll Bot = "[Magic]" DrainFusion() end function DrainFusion() SendA(Bot,"Scripts have been rebooted") SetTimer(2*65432) end function StartBot(level) if level == "1" then difficulty = "easy" ticker = random(3) elseif level == "2" then difficulty = "mediam" ticker = random(10) elseif level == "3" then difficulty = "hard" ticker = random(20) elseif level == "4" then difficulty = "unstopable" ticker = random(60) --else --difficulty = "random" --nr = random(4) --level = nr --StartBot(level) end SendA(Bot,"[Magic] is set to "..difficulty) Find(ticker) end function Find(ticker) number = random(600) --SendA(Bot,number.." x "..ticker) killer = random(4) Translate(killer) end function Translate(killer) if killer == 1 then barbossa = number + ticker SendA(Bot,"Add together "..number.." and "..ticker) elseif killer == 2 then barbossa = number - ticker SendA(Bot,"Subtract "..number.." from "..ticker) elseif killer == 3 then barbossa = number / ticker SendA(Bot,"Divide "..number.." by "..ticker) elseif killer == 4 then barbossa = number * ticker SendA(Bot,"Multiply "..number.." by "..ticker) else barbossa = 1 end StartTimer() end function OnTimer() SendA(Bot,"***Failed to input correct answer") StopTimer() StartBot(level) end function DataArrival(user,data) if strsub(data, 1, 1) == "<" then data=strsub(data,1,strlen(data)-1) s,e,cmd = strfind(data,"%b<>%s+(%S+)") if cmd == "m.start" then if LogedIn[user.sName] == nil then SendA(Bot,"you must be first logged in") return 1 else s,e,cmd,level = strfind(data,"%b<>%s+(%S+)%s+(%S+)") if level == nil then SendA(Bot,"remember to select a level m.start ") else SendA(Bot,"[Magic] has been started") StartBot(level) end end elseif cmd == "m.login" then LogedIn[user.sName] = 1 points[user.sName] = ticker elseif cmd == "m.score" then user:SendData(Bot,points[user.sName]) return 1 elseif cmd == "a" then if LogedIn[user.sName] == 1 then s,e,answer = strfind(data,"%b<>%s+(%S+)") if not answer == barbossa then SendA(Bot,"Incorrect") if count[user.sName] == nil then count[user.sName] = 1 elseif count[user.sName] == maxlimit then user:Disconnect() else count[user.sName] = count[user.sName] + 1 end else SendA(Bot,"***"..user.sName.." scores "..ticker.." point(s)") points[user.sName] = points[user.sName] + ticker StopTimer() StartBot(level) end end end end end